約 37,402 件
https://w.atwiki.jp/sampocity/pages/37.html
うぇるかむとぅーまいぺぇじ!! Heyいらっしゃい!来てくれてありがとうございまっす!! 俺は雀(すずめ)、マイクラ名はCannibalsparrow(カニバルスパロウ)って言います …あ、カニバルってかキャニバルって名前だけど、一番好きなのは白米だよ。白飯最強おk? とまぁ挨拶はここら辺にして、とりまざくざくっと言ってみよー! すずめについて▼ 名前(マイクラ):Cannibalsparrow 名前(ディスコード):すずめ♭シールド使い 性別(?):俺口調女です。こらそこ、変な口調使うとか言わないの! 好きな食べ物:梨、そうめん、白飯、親子丼、お茶、カフェオレ、エナドリ、キャベツ 苦手な食べ物:杏仁豆腐、しそ、辛い物&苦い物全般 座右の銘(個人):好きなものを好きだという人が一番かっこいい 座右の銘(建築):壊して建てるのが一つの選択なら、壊さずに建てるのもまた一つの選択だ。ならば俺は活かせるだけ生かしたい 作った建築物▼ 絶景の家(ぜっけいのいえ) 座標:4237,90,926 状態:完成済み 参上歩之天命神社(さんじょうほのあまみごとじんじゃ) 座標:4339,66,768 状態:完成済み 久昔展示室(くむてんじしつ) 座標:4119,70,861 状態:完成済み 猫の雪像(ねこのせつぞう) 座標:5258,82,917 ぽとゾル地帯の宿(名前は思い出し中…) 座標:2818,80,377 状態:完成済み 諸葛図書館(しょかつとしょかん) 座標:4723,76,2191 状態:別館と地下書蔵含め建物は完成済み。本は制作中 主なものは以上でっす!まだまだ作ってる建築物はありますが、このページではここまで すずめについて▼ 歌と絵と本と自然が好きな鳥
https://w.atwiki.jp/seisoku-index/pages/847.html
~第十二学区・忘れられた教会~ 「四日前、第十八学区でエージェント5人がタンクローリーにより圧死」 「昨日は第七学区で雇い入れた私兵が2人、ビル爆破により圧死」 「数時間前、同じく第七学区で私兵14人、我等が同志が8人消息を断った」 「これは由々しき事態である。未だリストアップされた3人は誰一人たなどころにない」 五日目…20時54分。第十二学区。高崎大学を筆頭として、オカルト的な観点からでなく科学的な観念からアプローチする神学校が集中する学区。 その打ち捨てられた教会内に蠢く人影…夜会のように集うその姿形は漆黒のローブに身を包んだ…まさに『魔術師』そのものであった。 「リストナンバー3、上条当麻は今現在行方不明」 「リストナンバー2、削板軍覇は我々の力では御する事は能わぬ」 「リストナンバー1、姫神秋沙は第七学区と第十八学区を行き来している。現在、女学生1名と共にモノレールにて第八学区より第十学区を移動中」 「Tempestas369(毒杯注ぎし晩餐者)よ、手段は問わぬ。必ずや手中に納めよ」 結標淡希、フレンダ、そしてアイテムに『能力者狩り』を阻まれた首謀者達は苛立ちを隠せない。 万全の囲いを敷いた城から漏れ出した獲物にすらありつけない現状に。 学園都市が防衛機構を復活させ、十字教三大宗派が力を取り戻した暁には自分達が狩られる番だと理解しているから。 魔術師A「身命に代えましても」 その言葉に一人の魔術師が『ソソルの錫杖』を手に立ち上がる。 それは魔術文書『パウロの術』に記載されし風を司る天蝎宮の天使『ソソル』の奇蹟の一端を、人間用魔術に変換し調整された力として奮う魔術師。 魔法名『Tempestas369(毒杯注ぎし晩餐者)』はターゲットの顔写真を頭に入れ直す。 魔術師A「目標、吸血殺し(ディープブラッド)」 それはかつてアウレオルス=イザードが『吸血鬼』の持つ無尽蔵の力をインデックスのために求めたそれとは異なる。 徹底して私利私欲のために『吸血鬼』をおびき寄せ手にするための撒き餌として姫神秋沙を欲しているのだから。 魔術師A「第十学区か」 標的は姫神秋沙のみ。側に女学生が一人居ようがものの数ではない。 標的一人のために多勢を巻き込む事すら厭わない指向性こそが、『嵐』と『暗殺』と言う矛盾した魔法名の由来。 ――科学と魔術が交差する時、物語は始まる――
https://w.atwiki.jp/snk619/pages/97.html
マップ名は仮につけたものであり、正式名称ではありません。 シンボル一覧 13個カチューシャフェレットきんぞくもふくこうもりはくちょうアルビノくるまいすしろくろナースモルモットうろこジョーカー カチューシャ 入手場所 お菓子の世界(1500円で購入) 効果 カチューシャをつける。キャラを引き寄せる。 ▲ フェレット 入手場所 四角の世界 効果 フェレットになる。倍速になる。 ▲ きんぞく 入手場所 お菓子の世界→裏お菓子の世界 効果 金属の棒を持つ。攻撃する。 ▲ もふく 入手場所 祭りの世界→暗闇通路→葉の集落→パンダ通路→赤い通路→黒部屋 効果 喪服を着る。追い掛けキャラに追われなくなる。 備考 半透明でも触れるとゲームオーバーになるので注意。 ▲ こうもり 入手場所 青美術館→横断歩道→空中線路 効果 こうもりになる。暗い場所が見えるようになる。 ▲ はくちょう 入手場所 青美術館→顔広場→光の部屋→顔部屋 効果 白鳥になる。 ▲ アルビノ 入手場所 お菓子の世界→裏お菓子の世界→隠し通路(標識を金属で殴る)→お菓子の家 効果 白くなる。 備考 しろくろの子とパンダ男の反応が変わる。前者は注意。 ▲ くるまいす 入手場所 青美術館→芽の通路→車椅子の部屋 効果 車椅子に乗る。 ▲ しろくろ 入手場所 四角の世界→赤ブロック迷路→三色ブロック迷路→白花の世界→植物の世界 効果 白黒になる。 備考 アルビノの子とパンダ男の反応が変わる。前者は注意。 ▲ ナース 入手場所 お菓子の世界→赤黒の世界→ベッドの部屋 効果 ナースになる。 ▲ モルモット 入手場所 祭りの世界→暗闇通路→葉の集落→モルモットの部屋 効果 モルモットになる。小さくなる。 ▲ うろこ 入手場所 祭りの世界→海藻の世界 効果 人魚になる。 ▲ ジョーカー 入手場所 四角の世界→赤ブロック迷路→三色ブロック迷路→白花の世界→天空 効果 ジョーカーになる。 ▲
https://w.atwiki.jp/arprojectfun/pages/45.html
ノート Direct3D 入門 Xファイルの3Dモデルの表示 Xファイルの3Dモデル(メッシュ)を描画する方法を説明します。 サンプルプログラム Subversionリポジトリ内、下記の場所にプロジェクトフォルダーがあります trunk/directx/ShowXFile_main20100511 やること Xファイルの3Dモデル(メッシュ)を読み込んで3D空間内に描画する 用語 プリミティブ 点と面が非常に少ないジオメトリのこと。スプライトもこの中に含まれる メッシュ 頂点と面が多く比較的複雑なジオメトリのこと。通常はプログラム内で動的に生成したりはせず、「Xファイル」という別ファイルからデータを読み込んで作る 注意: 一般的に「プリミティブ」とは3角形か4角形のポリゴン、および単純な立方体、球、円錐、円柱まで。トーラス(ドーナツ形状)までに至ると頂点とポリゴンが非常に多くなるので「プリミティブ」とは普通は呼ばない。 「Xファイル=メッシュ」ではない。Xファイルはメッシュを作成する手段の一つ非常に便利なため事実上メッシュの作成はXファイルを使っている Xファイルの作成は3D-CGソフトを使うフリーソフトだと「六角大王」や「メタセコイア」など 解説 スプライトのサンプルと異なるのは、2つ InitD3d 関数内にXファイル読み込みルーチンを追加 「Render関数」 InitD3d 関数 // Xファイルからメッシュをロードする LPD3DXBUFFER pD3DXMtrlBuffer = NULL; if( FAILED( D3DXLoadMeshFromX( "Drug.x", D3DXMESH_SYSTEMMEM, g_pd3dDevice, NULL, pD3DXMtrlBuffer, NULL, dwNumMaterials, pMesh ) ) ) { MessageBox(NULL, "Xファイルの読み込みに失敗しました",NULL, MB_OK); return E_FAIL; } 「D3DXLoadMeshFromX 関数」により、メッシュを読み込むこの関数をコールすれば大抵のことはやってくれる でも、プログラムに書いてあるようにアプリ側で書かなければならない処理も結構ある アプリ側で書かなければならない主な処理は「マテリアルの処理」・「テクスチャの処理」とりあえずは、このように書くものだと思っておいて問題ない 自信でロード関数を作る機会があるとすれば、この部分を編集すれば事足りる Render 関数 この関数には、3Dにおける基礎が詰まっており、 特に3つのトランスフォーム(座標系変換)をこの関数内で行っている //ワールドトランスフォーム(絶対座標変換) D3DXMATRIXA16 matWorld,matRotation; D3DXMatrixRotationY( matWorld, timeGetTime()/3000.0f ); D3DXMatrixRotationX( matRotation, 0.5f ); D3DXMatrixMultiply( matWorld, matWorld, matRotation); g_pd3dDevice- SetTransform( D3DTS_WORLD, matWorld ); まず、ジオメトリのローカル座標からワールド座標(絶対座標)へ変換 // ビュートランスフォーム(視点座標変換) D3DXVECTOR3 vecEyePt( 0.0f, 0.1f,-0.1f ); //カメラ(視点)位置 D3DXVECTOR3 vecLookatPt( 0.0f, 0.0f, 0.0f );//注視位置 D3DXVECTOR3 vecUpVec( 0.0f, 1.0f, 0.0f );//上方位置 D3DXMATRIXA16 matView; D3DXMatrixLookAtLH( matView, vecEyePt, vecLookatPt, vecUpVec ); g_pd3dDevice- SetTransform( D3DTS_VIEW, matView ); 次に、ワールド座標をさらにカメラ座標に変換 // プロジェクショントランスフォーム(射影変換) D3DXMATRIXA16 matProj; D3DXMatrixPerspectiveFovLH( matProj, D3DX_PI/4, (FLOAT)WINDOW_WIDTH/(FLOAT)WINDOW_HEIGHT, 0.1f, 10.0f ); g_pd3dDevice- SetTransform( D3DTS_PROJECTION, matProj ); 最後にカメラ座標からスクリーン座標に変換 参考: Direct3D トランスフォーム パイプライン ワールド座標→スクリーン座標変換 | capa's blog on JUGEM 3D座標変換 - ゲームプログラミングWiki 座標系 1-9 座標変換其の四 // ライトをあてる 白色で鏡面反射ありに設定 D3DXVECTOR3 vecDirection(0,-1,1); D3DLIGHT9 light; ZeroMemory( light, sizeof(D3DLIGHT9) ); light.Type = D3DLIGHT_DIRECTIONAL; light.Diffuse.r = 1.0f; light.Diffuse.g = 1.0f; light.Diffuse.b = 1.0f; light.Specular.r=1.0f; light.Specular.g=1.0f; light.Specular.b=1.0f; D3DXVec3Normalize( (D3DXVECTOR3*) light.Direction, vecDirection ); light.Range = 20.0f; g_pd3dDevice- SetLight( 0, light ); g_pd3dDevice- LightEnable( 0, TRUE ); 「ライト」を作っている部分 // レンダリング g_pd3dDevice- Clear( 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER , D3DCOLOR_XRGB(100,100,100), 1.0f, 0 ); if( SUCCEEDED( g_pd3dDevice- BeginScene() ) ) { for( DWORD i=0; i dwNumMaterials; i++ ) { g_pd3dDevice- SetMaterial( pMeshMaterials[i] ); g_pd3dDevice- SetTexture( 0, pMeshTextures[i] ); pMesh- DrawSubset( i ); } g_pd3dDevice- EndScene(); } g_pd3dDevice- Present( NULL, NULL, NULL, NULL ); スプライトの場合ではレンダリング(描画処理)は1行で済んだメッシュの場合は「マテリアル」と「テクスチャ」をセットするコードが必要になる メッシュは1個以上のマテリアルから成り立っているマテリアルごとにマテリアルとテクスチャが異なるのが普通なので、マテリアルの数だけループさせ、ループ1回転ごとにマテリアルとテクスチャを当該マテリアルのものでセットしなくてはならない メモ LPSTR から LPCWSTR に変換できません こういったエラーが出た場合、 「プロジェクトのプロパティ」 を開き、 「構成プロパティ」-「全般」 内の 「文字セット」 が 「マルチバイト文字セットを使用する」 にして再びビルドし直してみること。
https://w.atwiki.jp/terragen/pages/228.html
Node Type Other Shader ノード説明と目的 『Tex Coords From XYZ』は、入力シェーダからのディスプレースメントした点からワールド空間のテクスチャ座標を生成します。法線は計算しません。 『Compute norma』は、サーフェスの法線を計算します。勾配制限やマスキングが可能です。 『Compute terrain』は、サーフェスの法線とテクスチャ座標を計算します。勾配+高度制限やマスキングを考慮に入れます。 『Tex Coords From XYZ』は、テクスチャ座標を計算します。これはサーフェスの位置のみを与え、法線は与えないため、高度制限のみが可能です。 地形やディスプレースメントを作成した後に『Compute terrain』を使用するのは、テクスチャがディスプレースメントと一致するように、各面の法線に関する新しい情報だけでなく、これらの面の座標もレンダラーを更新するためです。
https://w.atwiki.jp/hermesreference/pages/12.html
以下は、http //namidame.2ch.net/test/read.cgi/shop/1228800656/l50から引用 エルメス初心者スレ★☆29☆★ 122 :おかいものさん 2008/12/18(木) 20 25 54 すみません、刻印のことで教えて下さい。 ケリーやバーキンの留め金部分にある「HERMES-PARIS」の刻印ですが、 私が自分で買ってきたケリーのは「HERMES-PARIS□←小さな四角」なのですが、 夫が出張で買ってきたバーキンは「HERMES-PARIS」となっています。 四角があるのとないものと、2タイプあるということなのでしょうか? それとも、ひょっとして夫が、私相手に小遣い稼ぎをしたということなのでしょうか? 気になって仕方ありません。ご存知の方おられたら教えて下さい。 123 :おかいものさん 2008/12/18(木) 20 32 48 パラと金メッキの違うだお。<□…あり無し。 あなたのオットを信じなさい。買ってもらってなんですかw
https://w.atwiki.jp/20101709/pages/41.html
画像に対して ROI(Region Of Interest)を設定すると,その部分画像が,画像全体と同一に扱われる. つまり,部分画像に対して処理を行う場合,それが部分画像であることを考慮する必要なく扱うことができる. ただし,処理結果として座標や領域を得て,それを再び画像全体に戻す処理(例えば,画像全体に対して描画するなど)を行う場合は,座標にオフセット(ROIの位置,幅など)を加えるなどの追加処理が必要なので注意すること. ROIを使う CvRect roi; cvSetImageROI cvResetImageROI roi.x = x座標; roi.y = y座標; roi.width = 幅; roi.height = 高さ; cvSetImageROI (img, roi); cvResetImageROI (img);
https://w.atwiki.jp/marc/pages/35.html
MOVE 節点・要素などを複製します. 方法はDUPLICATEと類似(ほぼ同じ) CENTROID 倍化、移動、回転中心の座標指定 SCALE FACTORS CENTROIDで設定した座標を中心に、X,Y,Z軸方向の倍率を入力して各軸方向に倍化できます。 ROTATION ANGLES(DEGREES) CENTROIDで設定した座標を中心に、X,Y,Z軸周りの回転角を度数表示で入力して、各軸周りに回転できます。 TRANCERATE CENTROIDで設定した座標を中心に、X,Y,Z軸方向の変位を入力して、各軸方向に移動できます。 変位量を指定. ↓ [NODE],[ELEMENT]...のボタンから何を複製するかを選択. ↓ 複製したい節点や要素などを左クリックで選択 右クリックで複製実行.
https://w.atwiki.jp/chuo713/pages/21.html
情報工学基礎演習 3D描画用ツール C言語 ソースコード -------------------------------------------------------------------------------------------------------------------- #include stdio.h void box(); void tree1(); void tree2(); void pole(); void texmake(); void texexpo(); int main(){ int t=1; printf("注意 小数座標には対応していません\n"); while(t!=0){ printf("終了:0 直方体:1 円柱:2\n"); printf("木A:3 木B:4\n"); printf("texture maker:10 texture exporter 20\n"); printf("タイプ:"); scanf("%d", t); if (t==0){} else if(t==1){box();} else if(t==2){pole();} else if(t==3){tree1();} else if(t==4){tree2();} else if(t==10){texmake();} else if(t==20){texexpo();} /*else if()*/ else{} } return 0; } void box(){ int x, y, z, xl, yl, zl; printf("左上座標(x)=");scanf("%d", x);printf("左上座標(y)=");scanf("%d", y); printf("左上座標(z)=");scanf("%d", z);printf("サイズ(x)=");scanf("%d", xl); printf("サイズ(y)=");scanf("%d", yl);printf("サイズ(z)=");scanf("%d", zl); printf("BOX{P %d. %d. %d. C 1. 1. 1. S %d. %d. %d. T 0.}\n", x+xl/2, y+yl/2, z+zl/2, xl, yl, zl); } void pole(){ int v, x, y, z, r, h; printf("向き x 1 y 2 z 3=");scanf("%d", v); printf("底辺座標(x)=");scanf("%d", x); printf("底辺座標(y)=");scanf("%d", y); printf("底辺座標(z)=");scanf("%d", z); printf("半径=");scanf("%d", r); printf("長さ=");scanf("%d", h); if(v==1){printf("POLE_X{P %d. %d. %d. C 1. 1. 1. R %d. H %d. T 0.}\n", x+h/2, y, z, r, h);} else if(v==2){printf("POLE_Y{P %d. %d. %d. C 1. 1. 1. R %d. H %d. T 0.}\n", x, y+h/2, z, r, h);} else if(v==3){printf("POLE_Z{P %d. %d. %d. C 1. 1. 1. R %d. H %d. T 0.}\n", x, y, z+h/2, r, h);} else {} } void tree1(){ int x, z, s; printf("座標(x)=");scanf("%d", x); printf("座標(z)=");scanf("%d", z); printf("POLE_Y{P %d. 45. %d. C 0.6 0.2 0.2 R 7. H 90. T 0.}\n", x, z); printf("BALL{P %d. 120. %d. C 0. 0.5 0.1 S 120. 60. 140. T 0.}\n", x, z); } void tree2(){ int x, z, s; printf("座標(x)=");scanf("%d", x); printf("座標(z)=");scanf("%d", z); printf("POLE_Y{P %d. 60. %d. C 0.5 0.1 0.1 R 6. H 120. T 0.}\n", x, z); printf("BALL{P %d. 160. %d. C 0. 0.6 0.1 S 18. 60. 18. T 0.}\n", x, z); } void texmake(){ int v, x, y, z, h, i, k, a[100][4]; float c, rad, rx, ry, rz, cr, cg, cb; printf("平面選択 (x-y):[0] (y-z):[1] (z-x):[2]=");scanf("%d", v); printf("開始座標(x)=");scanf("%d", x); printf("開始座標(y)=");scanf("%d", y); printf("開始座標(z)=");scanf("%d", z); printf("奥行き=");scanf("%d", h); printf("透過度=");scanf("%f", c); printf("色(R G B)");scanf("%f %f %f", cr, cg, cb); printf("回転角度=");scanf("%f", rad); if(rad!=0){printf("回転軸(x y z)=");scanf("%f %f %f", rx, ry, rz);} for(i=0;i 100;i++) { for(k=0;k 4;k++) {printf("a[%d][%d]", i, k);scanf("%d", a[i][k]); if(k==3 a[i][0]==0 a[i][1]==0 a[i][2]==0 a[i][3]==0){i=100;} } } printf("\n"); for(i=0;i 100;i++) { if(a[i][0]==0 a[i][1]==0 a[i][2]==0 a[i][3]==0){i=100;} else { if(v==0){printf("BOX{P %d. %d. %d. C %1.1f %1.1f %1.1f S %d. %d. %d. T %1.1f", x+(a[i][2]+a[i][0])/2, y+(a[i][3]+a[i][1])/2, z+h/2, cr, cg, cb, a[i][2]-a[i][0], a[i][3]-a[i][1], h, c);} else if(v==1){printf("BOX{P %d. %d. %d. C %1.1f %1.1f %1.1f S %d. %d. %d. T %1.1f", x+h/2, y+(a[i][3]+a[i][1])/2, z+(a[i][2]+a[i][0])/2, cr, cg, cb, h, a[i][3]-a[i][1], a[i][2]-a[i][0], c);} else if(v==2){printf("BOX{P %d. %d. %d. C %1.1f %1.1f %1.1f S %d. %d. %d. T %1.1f", x+(a[i][2]+a[i][0])/2, y+h/2, z+(a[i][3]+a[i][1])/2, cr, cg, cb, a[i][2]-a[i][0], h, a[i][3]-a[i][1], c);} if(rad!=0){printf(" Ro %1.1f %1.1f %1.1f %1.2f", rx, ry, rz, rad);} printf("}\n"); } } } void texexpo(){ int pa, v, x, y, z, h, i, k, a[200][4], p, q, x1, x2, y1, y2, xmax, ymax; float c, rad, rx, ry, rz, cr, cg, cb; printf("ヘッダ情報を入力しますか? yes[1] no[0]");scanf("%d", pa); if(pa==1){ printf("平面選択 (x-y):[0] (y-z):[1] (z-x):[2]=");scanf("%d", v); printf("開始座標(x)=");scanf("%d", x); printf("開始座標(y)=");scanf("%d", y); printf("開始座標(z)=");scanf("%d", z); printf("奥行き=");scanf("%d", h); printf("透過度=");scanf("%f", c); printf("色(R G B)");scanf("%f %f %f", cr, cg, cb); printf("回転角度=");scanf("%f", rad); if(rad!=0){printf("回転軸(x y z)=");scanf("%f %f %f", rx, ry, rz);} } printf("パターンサイズ(横軸)=");scanf("%d", p); printf("パターンサイズ(縦軸)=");scanf("%d", q); printf("始点座標(x1 y1)=");scanf("%d %d", x1, y1); printf("終点座標(x2 y2)=");scanf("%d %d", x2, y2); printf("横方向くり返し回数=");scanf("%d", xmax); printf("縦方向くり返し回数=");scanf("%d", ymax); printf("\n**********************"); if(pa==1){printf("\n10\n%d\n%d %d %d\n%d\n%1.1f\n%1.1f %1.1f %1.1f\n%1.2f", v,x,y,z,h,c,cr,cg,cb,rad); if (rad!=0){printf(" %1.1f %1.1f %1.1f", rx, ry, rz);} } for(i=0;i ymax;i++) { for(k=0;k xmax;k++) {printf("\n%d %d %d %d", x1+p*k, y1+q*i, x2+p*k, y2+q*i);} } printf("\n0 0 0 0\n0\n**********************\n"); } ------------------------------------------------------------------------------------------------------------------ 「texture maker」「texture exporter」 使用マニュアル texture maker 「texture maker」は平面を指定し、相対座標を打ち込むことで簡単に大量の直方体を 作ることの出来るツールです。 1.原点座標 2.奥行き 3.色、透過性、回転 4.範囲の始点座標(原点側) 5.範囲の終点座標(原点の反対側) 4と5は連続で入力し続けることができます。(a[i][o]=x1, a[i][1]=y1, a[i][2]=x2, a[i][3]=y2) 0,0,0,0と打ち込むと終了します。 texture exporter 「texture exporter」は「texture maker」用のデータを出力するためのツールです。 1.(x-y)(y-z)(z-x)平面のいずれかを選択し、原点とする座標を選択。 2.平面からの奥行き(残りの軸の正方向)を選択。 3.その他の情報を入力。 4.単位面積の縦横長を入力。 5.作りたい長方形の始点、終点座標(相対)を入力。 6.横方向、縦方向に何回繰り返すかを入力。 出力されたデータ(*******************に挟まれている部分)を拡張子.datで保存してください。 これをプログラム実行時に ./~~~.out ~~~.dat とすると、自動的に変換されて出力されます。 *ヘッダファイルの有無について ヘッダとはプログラム開始時の入力、平面、原点座標、色などの情報の部分です。 この後に「座標データ」「終了データ」で構成されています。 ヘッダ無しにして出力されたデータは、「座標データ」「終了データ」のみになります。
https://w.atwiki.jp/miracle_mikuru/pages/79.html
#include math.h /** *2点間の距離 * *@return座標1と座標2の間の距離 * *@parampoint1座標1 *@parampoint2座標2 * *http //frog.raindrop.jp/knowledge/archives/001607.html */ static double calcDistance( const POINT point1, const POINT point2 ) { // 変位 double dx = /*abs*/( point2.x - point1.x ); double dy = /*abs*/( point2.y - point1.y ); // 平方根 // sqrt( ( dx * dx ) + ( dy * dy ) ); return sqrt( pow( dx, 2.0 ) + pow( dy, 2.0 ) ); }